package com.atguigu.util;


import java.time.LocalDate;

/**
 * @author ：剧情再美终是戏
 * @description：日期工具类
 * @mail : 13286520398@163.com
 * @date ：Created in 2020/2/13 9:10
 * @modified By：
 * @version: 1.0
 */
public class MyDateUtil {

    private static String MIN_TIMES = "1970-01-01";

    /**
     * 获取指定日期步长个单位的日期
     *
     * @param today 需要转换的时间
     * @param steps 步长
     * @param type  类型 days(默认值)|months|weeks|years
     * @return java.time.LocalDate
     * @Author 剧情再美终是戏
     * @Date 2020/2/13 9:23
     * @Version 1.0
     **/
    public static LocalDate getStepsTime(LocalDate today, int steps, String type) {
        if (null != today) {
            if (null == type || "".equals(type) || "days".equals(type)) {
                return today.minusDays(steps);
            } else if ("months".equals(type)) {
                return today.minusMonths(steps);
            } else if ("weeks".equals(type)) {
                return today.minusWeeks(steps);
            } else if ("years".equals(type)) {
                return today.minusYears(steps);
            } else {
                return today;
            }
        } else {
            // TODO 日志输出异常，提示时间不合法，并返回最小的时间
            return LocalDate.parse(MIN_TIMES);
        }
    }
}
